﻿<?php
/**
* @version		$Id: view.html.php 9764 2007-12-30 07:48:11Z ircmaxell $
* @package		Joomla
* @subpackage	Poll
* @copyright	Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
* @license		GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/

// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die();

jimport( 'joomla.application.component.view');

class amapViewabocom extends JView
{
	var $amap;

	function display($tpl = null)
	{
		global $mainframe;

		$database =& JFactory::getDBO();
		$document =& JFactory::getDocument();
		$user =& JFactory::getUser();

		$pathway  =& $mainframe->getPathway();

		// Adds parameter handling
		$params = $mainframe->getParams();

		//Set page title information
		$document->setTitle('Commentaire');

		//Set pathway information
		$pathway->addItem('Gestion des abonnements', 'index.php?option=com_amap&view=gestabo');
		$pathway->addItem('Commentaire', '');

		$params->def( 'show_page_title', 1 );
		$params->def( 'page_title', 'commentaire');
		
		if($this->amap->adLoggue && $mainframe->getUserState("amap_droitAbo", FALSE))
		{
			if (!isset($this->amap->formulaire)) {
				$ida = JRequest::getVar('ida', 0);
				$abo = JRequest::getVar('abo', NULL);
	
				// le formulaire n'a pas été crée, on le fait en partant du formulaire d'abonnement
				if (!isset($this->amap->formulaire)) {
					$this->amap->formulaire = $this->amap->formulaireAbo();
				}
				// que l'on modifie 
				$this->amap->formulaire->task = 'statutAbo';
				$this->amap->formulaire->titre = 'Modification d\'abonnement';
				$this->amap->formulaire->submittext = 'Valider';
				$this->amap->formulaire->texte = 'Cette page vous permet de modifier le statut ou les caractéristiques d\'un abonnement et de laisser un commentaire à l\'abonné';
				// en particulier on personalise le formulaire 
				$this->amap->formulaire->fields['IDA']['value'] = $ida;
				$distribPossibles=$this->amap->distributions();
				// et auquel on rajoute des champs
				$this->amap->formulaire->fields += array(
					'abo'=>array('type'=>'hidden', 'name'=>'abo', 'value'=>$abo),
					'derniereDistrib'=>array('libelle'=>'date de dernière distribution','type'=>'select','name'=>'derniereDistrib','options'=>$distribPossibles,'size'=>1,'value'=>''),
					'statut'=>array('libelle'=>'statut','type'=>'select', 'name'=>'statut', 'size'=>1,'options'=>array('Encours', 'Liste', 'Abonne', 'Invalide')),
					'fieldset4'=>array('type'=>'fieldset', 'legend'=>'Commenter l\'abonnement', 'endfield'=>'commentaire'),
					'commentaire'=>array('libelle'=>'Votre texte', 'name'=>'commentaire', 'type'=>'textarea', 'cols'=>40, 'rows'=>4, 'value'=>$this->amap->adComAbo($ida),'errmsg'=>NULL),
					'mail'=>array('libelle'=>'envoyer un mail à l\'abonné ?', 'name'=>'mail', 'type'=>'checkbox', 'value'=>1,'errmsg'=>NULL)
					);
				$this->amap->formulaire->fields['premiereDistrib']['libelle'] = 'date de première distribution';
				$this->amap->formulaire->fields['premiereDistrib']['options'] =  $distribPossibles;
				$this->amap->formulaire->fields['fieldset3']['endfield'] = 'statut';
				$this->amap->formulaire->fields['fieldset3']['legend'] = 'Dates et statut';
				
				// On initialise avec les valeurs courantes de l'abonnement en base 
				$query = "SELECT * FROM amap_abonnementadherent where NomAbonnement = '".$abo."' AND IDA = ".$ida;
				$database->setQuery($query);
				$database->query(); if ($database->getErrorNum()) {echo 'Error ' . $database->getErrorNum() . ': ' . $database->getErrorMsg();} 

				if ($database->getNumRows() == 0) { // on n'a pas trouvé d'abonnement 
					message("L'abonnement n'a pas été retrouvé en base !", "error");

				} else {
					$aboadherent = $database->loadAssoc();
				}
				
				$this->amap->formulaire->fields['premiereDistrib']['value'] = $aboadherent['PremiereDistribution'];
				$this->amap->formulaire->fields['derniereDistrib']['value'] = $aboadherent['DerniereDistribution'];
				$this->amap->formulaire->fields['quantite']['value'] = $aboadherent['Quantite'];
				$this->amap->formulaire->fields['variante']['value'] = $aboadherent['Variante'];
				$this->amap->formulaire->fields['statut']['value'] = $aboadherent['Statut'];
				
				// On renseigne les options prises éventuellement. Pour cela on regarde on recherche dans le formulaire tout les champs options 
				$i=1; $stop=0; 
				while ($i<=10 && !$stop) { // On recherche les 10 champs d'option
					$stop = 1; // on arrête la prochaine fois si on a pas trouvé cette fois 
					foreach ($this->amap->formulaire->fields as $cleField => $valField) {
						if ($cleField == 'option'.$i) { // On a trouvé le champs d'option
							// on vérifie son type 
							if ($valField['type'] == 'checkbox') { // champs de type checkbox
								// Le bout de code ici reste à écrire !! 
							} elseif ($valField['type'] == 'text') { // champs numérique : on met dans le formulaire la valeur du champs 
								$this->amap->formulaire->fields['option'.$i]['value'] = $aboadherent['QuantiteOption'.$i];
							} // Si autre type on ne fait rien 
							$stop = 0 ; // on a trouvé on continue a parcourir les options	
						}
					}
					$i+=1; // on a parcouru tout le formulaire, on passe à l'option suivante
				}		
				
				// et en particulier on personalise le formulaire avec les données relatives à l'abonné (et pas celle du gestionnaire)
				$this->amap->formulaire->fields['IDA']['value'] = $ida;
								
			}
			// et on affiche ...
			$this->amap->formulaire->affiche();
			
			echo '<p class="amap_legend"><img src="components/com_amap/images/aide.png" style="position:relative;top:6px;margin-right:4px;" />Besoin d\'aide ?</p>';
			echo '<div id="amap_footer">
			blablabla blablabla blabla blablaba blababla blablabla blablabla blabla blablaba blababla
			blablabla blablabla blabla blablaba blababla blablabla blablabla blabla blablaba blababla
			blablabla blablabla blabla blablaba blababla blablabla blablabla blabla blablaba blababla
			blablabla blablabla blabla blablaba blababla blablabla blablabla blabla blablaba blababla</div>';
		}
		parent::display($tpl);
	}
}
?>
